Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

ТЕКСТОВІ ФАЙЛИ

Інформація про навчальний заклад

ВУЗ:
Національний технічний університет України Київський політехнічний інститут
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Не вказано

Інформація про роботу

Рік:
2010
Тип роботи:
Звіт про виконання лабораторної роботи
Предмет:
Основи програмування та алгоритмічні мови

Частина тексту файла

Міністерство освіти і науки України Національний технічний університет України “Київський політехнічний інститут” Кафедра ОТ ЗВІТ про виконання лабораторної роботи № 9.2 з дисципліни “Основи програмування та алгоритмічні мови” Тема: ТЕКСТОВІ ФАЙЛИ Варіант 28 Постановка задачі Створити текстовий файл, вводячи рядки з клавіатури. Сформувати новий файл, що складається зі слів вхідного файлу, які зустрічаються у ньому більше N раз. Розмістити ці слова в новому файлі в порядку зростання їхньої довжини. Вивести вміст вхідного і створеного файлів. Аналітичні викладки Створити текстовий файл, зчитати слова з нього в масив, відсортувати масив за довжиною і алфавітом, записати слова, що повторюються більше N раз у новий файл. Блок-схема алгоритму розв’язання задачі   Текст програми program lab_9_2; uses crt; const max = 100; type str = string[15]; mas = array[1..max] of str; var m,r:mas; {Масиви даних} _N, {параметр N} n,v:word; {лічильники слів} a,b:string; k:char; {Створення} procedure create(const a:string); var st:string; s1, s2:char; f : text; begin Assign (f, a); Rewrite (f); Writeln ('input text (right arrow to end): '); REPEAT s1 := readkey; s2 := readkey; if (s1 = #0) and (s2 = #77) then break; write (s1, s2); ReadLn (st); st := s1 + s2 + st; Writeln (f, st); UNTIL False; Close (f); end; procedure blank(var s:string); begin while (s[1] = ' ') do Delete (s, 1, 1); while Pos (' ', s) <> 0 do Delete (s, Pos (' ', s), 1); if s[Length (s)] <> ' ' then s := s + ' '; end; {Формування масиву} procedure form(var m:mas; st:string; var n:word); begin while Pos (' ', st) <> 0 do begin n := n + 1; m[n] := Copy (st, 1, Pos (' ', st) - 1); Delete (st, 1, Pos (' ', st)); end; end; {Зчитування файлу} procedure readf(const a:string; var m:mas; var n:word); var f:text; st:string; begin Assign (f, a); reset (f); n := 1; while not Eof(f) do begin readln(f,st); blank(st); form(m, st, n); end; close (f); end; {Запис файлу} procedure writef(const a:string; const m:mas; n:word); var i:word; f:text; begin Assign (f, a); rewrite (f); for i := 1 to n do writeln (f, m[i], ' '); close(f); end; {Виведення файлу} procedure outf(const a:string); var st:string; f:text; begin Assign(f, a); reset(f); writeln ('This is ',a); while not Eof(f) do begin readln(f, st); writeln(st); end; close(f); end; procedure swap (var a,b:str); var k:string; begin k:=a; a:=b; b:=k; end; {Сортування масиву} procedure sort (var m:mas; i:word); var k,j,l:word; begin For k:=1 to i-1 do for j := 1 to i-k do if (length(m[j]) > length(m[j+1])) or ((length(m[j]) = length(m[j+1])) and (m[j] > m[j+1])) then swap(m[j],m[j+1]); end; {Створення масиву слів, що задовольняють умові} procedure filter (const m:mas; n:word; var r:mas; var v:word); var i, k:word; begin i := 1; k := 1; v := 1; for i := 1 to n do if m[i+1] = m[i] then k := k + 1 else if k >= _N then begin r[v] := m[i]; v := v + 1; k := 1; end; v := v - 1; end; begin TextColor(0); TextBackGround(7); clrscr; a := '9_2in.txt'; b := '9_2out.txt'; create(a); outf(a); Write ('Vvedite N: '); Readln(_N); readf(a, m, n); sort(m, n); filter(m,n,r,v); writef(b, r, v); outf(b); readkey; end. Результати виконання програми / Висновок Під час виконання лабораторної роботи я вивчив особливості створення і обробки текстових файлів. Програма працює правильно: записує в файл ті слова, що зустрічаються в даному файлі більше N раз.
Антиботан аватар за замовчуванням

01.03.2013 19:03

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини